
from rest_framework.generics import ListAPIView,CreateAPIView
from meiduo_admin.serializers.user_serializers import *
from meiduo_admin.paginators import MyPage


class UserView(ListAPIView, CreateAPIView):

    queryset = User.objects.all()
    serializer_class = UserModelSerializer

    # ?page=2&pagesize=5
    pagination_class = MyPage

    def get_queryset(self):
        # 后续序列化列表数据的查询集就是通过该函数获取的，那么
        # 我们可以重写该方法，以过滤查询集
        # 问题：如何在一个非视图函数中，获取请求对象？
        # 答：self.request --> self是当前视图类对象，其中封装了属性request是当前请求对象
        keyword = self.request.query_params.get('keyword')
        return self.queryset.filter(username__contains=keyword)

